package io.sage.modules.goods.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.sage.modules.goods.enums.GoodsStatusEnum;

import java.util.Date;

public class BGoods {
    private Integer id;

    private String goodsName;

    private Integer allocationId;

    //前台需要
    private String  allocation;

    private Integer isUpshelf;

    private Integer goodsStatus;

    private String goodsStatusName;

    private Integer unitId;

    private String unitName;

    private Integer goodsTypeId;

    private String goodsTypeName;

    private Byte barCode;

    private String goodsPic;

    private String goodsFactory;

    private String goodsModel;

    private String goodsSpecs;

    private String labelErp;

    private String goodsDetail;

    private String remark;

    private Integer createUserId;

    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date updateTime;

    private Integer isUsed;

    private Integer isDel;

    private Integer wareHouseId;
    /**
     * 下次检测时间
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date dueDate;
    /**
     * 检测时间 以天为单位
     *
     */
    private Integer checkTime;
    /**
     * 货物类型ID
     * @return id 货物类型ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * 货物类型ID
     * @param id 货物类型ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 货物名称
     * @return goods_name 货物名称
     */
    public String getGoodsName() {
        return goodsName;
    }

    /**
     * 货物名称
     * @param goodsName 货物名称
     */
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName == null ? null : goodsName.trim();
    }

    /**
     * 货物所属货位
     * @return allocation_id 货物所属货位
     */
    public Integer getAllocationId() {
        return allocationId;
    }

    /**
     * 货物所属货位
     * @param allocationId 货物所属货位
     */
    public void setAllocationId(Integer allocationId) {
        this.allocationId = allocationId;
    }

    /**
     * 货物是否上架，1上架，0未上架
     * @return is_upshelf 货物是否上架，1上架，0未上架
     */
    public Integer getIsUpshelf() {
        return isUpshelf;
    }

    /**
     * 货物是否上架，1上架，0未上架
     * @param isUpshelf 货物是否上架，1上架，0未上架
     */
    public void setIsUpshelf(Integer isUpshelf) {
        this.isUpshelf = isUpshelf;
    }

    /**
     * 货物状态,0正常，1借出，2预约
     * @return goods_status 货物状态,0正常，1借出，2预约
     */
    public Integer getGoodsStatus() {
        return goodsStatus;
    }

    /**
     * 货物状态,0正常，1借出，2预约
     * @param goodsStatus 货物状态,0正常，1借出，2预约
     */
    public void setGoodsStatus(Integer goodsStatus) {
        this.goodsStatus = goodsStatus;
    }

    /**
     * 货物单位
     * @return unit_id 货物单位
     */
    public Integer getUnitId() {
        return unitId;
    }

    /**
     * 货物单位
     * @param unitId 货物单位
     */
    public void setUnitId(Integer unitId) {
        this.unitId = unitId;
    }

    /**
     * 所属种类
     * @return goods_type_id 所属种类
     */
    public Integer getGoodsTypeId() {
        return goodsTypeId;
    }

    /**
     * 所属种类
     * @param goodsTypeId 所属种类
     */
    public void setGoodsTypeId(Integer goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    /**
     * 条形码
     * @return bar_code 条形码
     */
    public Byte getBarCode() {
        return barCode;
    }

    /**
     * 条形码
     * @param barCode 条形码
     */
    public void setBarCode(Byte barCode) {
        this.barCode = barCode;
    }

    /**
     * 货物图片
     * @return goods_pic 货物图片
     */
    public String getGoodsPic() {
        return goodsPic;
    }

    /**
     * 货物图片
     * @param goodsPic 货物图片
     */
    public void setGoodsPic(String goodsPic) {
        this.goodsPic = goodsPic == null ? null : goodsPic.trim();
    }

    /**
     * 货物生产厂家
     * @return goods_factory 货物生产厂家
     */
    public String getGoodsFactory() {
        return goodsFactory;
    }

    /**
     * 货物生产厂家
     * @param goodsFactory 货物生产厂家
     */
    public void setGoodsFactory(String goodsFactory) {
        this.goodsFactory = goodsFactory == null ? null : goodsFactory.trim();
    }

    /**
     * 货物型号
     * @return goods_model 货物型号
     */
    public String getGoodsModel() {
        return goodsModel;
    }

    /**
     * 货物型号
     * @param goodsModel 货物型号
     */
    public void setGoodsModel(String goodsModel) {
        this.goodsModel = goodsModel == null ? null : goodsModel.trim();
    }

    /**
     * 货物规格
     * @return goods_specs 货物规格
     */
    public String getGoodsSpecs() {
        return goodsSpecs;
    }

    /**
     * 货物规格
     * @param goodsSpecs 货物规格
     */
    public void setGoodsSpecs(String goodsSpecs) {
        this.goodsSpecs = goodsSpecs == null ? null : goodsSpecs.trim();
    }

    /**
     * rfid标签
     * @return label_erp rfid标签
     */
    public String getLabelErp() {
        return labelErp;
    }

    /**
     * rfid标签
     * @param labelErp rfid标签
     */
    public void setLabelErp(String labelErp) {
        this.labelErp = labelErp == null ? null : labelErp.trim();
    }

    /**
     * 货物详情
     * @return goods_detail 货物详情
     */
    public String getGoodsDetail() {
        return goodsDetail;
    }

    /**
     * 货物详情
     * @param goodsDetail 货物详情
     */
    public void setGoodsDetail(String goodsDetail) {
        this.goodsDetail = goodsDetail == null ? null : goodsDetail.trim();
    }

    /**
     * 备注
     * @return remark 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 创建人
     * @return create_user_id 创建人
     */
    public Integer getCreateUserId() {
        return createUserId;
    }

    /**
     * 创建人
     * @param createUserId 创建人
     */
    public void setCreateUserId(Integer createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * 创建时间
     * @return create_time 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 修改时间
     * @return update_time 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 修改时间
     * @param updateTime 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 是否启用,0未启用，1启用
     * @return is_used 是否启用,0未启用，1启用
     */
    public Integer getIsUsed() {
        return isUsed;
    }

    /**
     * 是否启用,0未启用，1启用
     * @param isUsed 是否启用,0未启用，1启用
     */
    public void setIsUsed(Integer isUsed) {
        this.isUsed = isUsed;
    }

    /**
     * 是否删除，1删除，0未删除
     * @return is_del 是否删除，1删除，0未删除
     */
    public Integer getIsDel() {
        return isDel;
    }

    /**
     * 是否删除，1删除，0未删除
     * @param isDel 是否删除，1删除，0未删除
     */
    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }


    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getGoodsTypeName() {
        return goodsTypeName;
    }

    public void setGoodsTypeName(String goodsTypeName) {
        this.goodsTypeName = goodsTypeName;
    }

    public String getAllocation() {
        return allocation;
    }

    public void setAllocation(String allocation) {
        this.allocation = allocation;
    }

    public Integer getWareHouseId() {
        return wareHouseId;
    }

    public void setWareHouseId(Integer wareHouseId) {
        this.wareHouseId = wareHouseId;
    }

    public Integer getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Integer checkTime) {
        this.checkTime = checkTime;
    }

    public void setDueDate(Date dueDate) {
        this.dueDate = dueDate;
    }

    public Date getDueDate() {
        return dueDate;
    }

    public String getGoodsStatusName() {
        String goodsStatusName= GoodsStatusEnum.getMessage(this.getGoodsStatus());
        return goodsStatusName;
    }
    /**
     * 货物状态名称
     * @return goodsStatusName 货物状态名称
     */
    public void setGoodsStatusName(String goodsStatusName) {
        this.goodsStatusName = goodsStatusName;
    }
}